EDA - stats, brightness radial profiles, deconvolution

1°) DataFrame et première exploration

(PBC_dataset : cellules saines)

Liste des variables du DF :

Les classes ne sont pas équilibrées, il faudra peut-être avoir recours à de l'augmentation de données.

On a un premier aperçu des différences entre chaque classe de cellules :

A première vue, on peut remarquer des similitudes entre certaines types de cellules : par exemple MO et IG (avec BA, dans une moindre mesure), NEU et EO (forme du noyau, parfois coloration).

Des éléments peuvent venir parasiter l'information importante :

Les images sont au format RGB : M*N pixels + 3 canaux (rouge, vert, bleu) : on remarque que toutes n'ont pas la même taille.

2°) Distribution de la taille des images

La majorité des images du dataset sont au format 363*360 :

3°) Distribution de luminosité moyenne, classe par classe

Ces deux graphiques mettent en évidence les points suivants :

L'obscurité sur nos images est liée à trois facteurs :

Comme les globules rouges et les cellules "parasites" sont distribués aléatoirement d'une image à l'autre, leur présence ne doit pas vraiment influencer la luminosité moyenne d'une classe. On peut donc expliquer qualitativement les différences de luminosité moyenne d'une classe à l'autre en regardant un exemple pour chaque type de cellule :

Il n'y a donc probablement pas de biais de luminosité d'une classe de cellules à l'autre.

Affichons maintenant les outliers extrêmes : l'image la plus lumineuse, et l'image la plus sombre.

On peut maintenant afficher quelques outliers pris au hasard dans le DataFrame :

On remarque que beaucoup des outliers sombres sont caractérisés par la présence d'un nombre important de globules rouges autour de la cellule d'intérêt, ou par la présence de plusieurs cellules à noyau. Quant aux outliers lumineux, ce sont des images dans lesquelles il y a très peu (voire aucun) de globules rouges.

4°) Cellules "moyennes"

On va maintenant représenter une cellule "moyenne" pour chaque type de cellule :

Ces différences sont relatives à la nature même de chaque type de cellule et apparaissent sur des propriétés moyennes des images : cela constitue un signal positif quant à la capacité d'utiliser un algorithme de machine-learning pour trier ces images.

On peut aller un peu plus loin et tracer le profil radial de luminosité pour chacune des cellules moyennes :

La figure ci-dessus représente l'évolution de la luminance $L(r)$ en fonction de la distance $r$ par rapport au centre de l'image (donc par rapport au centre de la cellule). Cette luminance a été moyennée sur la variable angulaire $\theta$ : les barres d'erreurs représentent l'écart-type de $L(r)$ par rapport aux valeurs de $\theta$. Chaque courbe correspond à une des 8 cellules moyennes calculées plus haut.

Deux zones apparaissent distinctement sur chaque courbe :

On peut donc espérer qu'un algorithme de machine-learning privilégiera les différences au centre des images pour les classer, donc qu'il n'y a pas de biais significatif de luminosité d'une classe de cellule sanguine à l'autre.

Cette fois-ci, les barres d'erreurs représentent l'écart-type au sein de la classe de cellules considérée. On voit qu'au niveau du plateau de la zone II, les barres d'erreur d'une courbe recouvrent aussi les autres courbes, ce qui signifie qu'il n'y a pas de différences notables de luminosité entre classes de cellule pour la zone II, on peut donc conclure qu'il n'y a pas de biais de luminosité.

Dans la zone I, les choses sont plus complexes. Pour éviter de détailler au cas par cas, retenons que les disparités d'une classe à l'autre sont plus significatives que pour la zone II, certaines classes étant bien séparées des autres.

Ainsi, les différences de luminosité observées entre les distributions de chaque classe de cellules semblent surtout liées à la taille de la cellule et à celle de son noyau, donc à des caractéristiques qui sont pertinentes pour le classement des images.

5°) Déconvolution

On va utiliser la déconvolution pour décomposer les images sur trois nouveaux canaux de couleur (C1, C2 et C3). La déconvolution des couleurs a été développé pour l'analyse histologique et la librairie utilise l'algorithme développé par G. Landini.
La déconvolution des couleurs est basée sur la loi de Beer-Lambert et peut séparer les images en trois canaux représentant l'absorbance de chaque coloration histologique. Nous avons choisit une matrice de conversion de la coloration Methyl Blue + Ponceau Fuchsin qui est proche du MGG original et sépare bien les globules rouges.

Plot d'un exemple de color deconvolution

Cette technique permet de séparer les images en trois composantes principales:

Distribution des expositions moyennes par canaux de déconvolution

Comme précedemment, les plaquettes (PLT) et les érythroblastes (ERB) présentent une intensité plus faible pour le canal 'noyau' et plus haute pour le canal 'bkg'. La différence sur le canal 'rbc-red blood cell' est plus faible, ce qui soutient un nombre similaire de globules rouges moyens en concordance avec l'analyse des cellules moyennes.
La différence de noyau et background peut s'expliquer par la taille des cellules comme précédemment montré par l'analyse radiale. toutes les classes présentent des outliers, essentiellement de faible luminosité.

Distribution des histogrammes d'exposition par type de cellules

Les histogrammes révèlent encore une fois des différences significatives entre les plaquettes (PLT) et les érythroblastes(ERB) d'une part, et d'autre part les autres cellules, confirmant ce qui a pu être dit dans la section précédente. Les basophiles (BA) présentent eux aussi un shift dans la canal background ce qui peux s'expliquer par leurs tailles et la présence d'agglomérats.

6°) Conclusion

Compte tenu des différences assez visibles entre les plaquettes et les autres cellules (taille plus petite, absence de noyau), on s'attend à ce que le futur modèle puisse les détecter assez précisément.

Les données dont nous disposons pour les cellules saines sont de qualité et ne présentent pas de biais évident. Il faut toutefois ajouter qu'elles ont été enregistrées avec le même analyseur, et procéssée dans le même laboratoire avec le même protocole de coloration : c'est une autre forme de biais, qui pourrait induire un overfitting de notre modèle. Lors de la phase de test du modèle et si ce problème apparaît, on pourra essayer d'entraîner le modèle en ajoutant aux données des cellules malades ou provenant d'autres sources.